package com.woniu.bank.mapper;

import com.woniu.bank.dto.MemberDTO;
import com.woniu.bank.dto.MemberIsDeleteDTO;
import com.woniu.bank.dto.NewClientfoDTO;
import com.woniu.bank.entity.Member;
import com.woniu.bank.vo.MemberClientInfoSheetVO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;

import java.util.List;

/**
 * 申请联保小组成员的Mapper接口
 *
 * @author 晨星
 * @date 2023/1/6 18:35
 **/
public interface MemberMapper {

    /**
     * 根据组长编号搜索组长名称
     *
     * @param groupLeaderNo 组长编号
     * @return java.lang.String
     * @author 晨星
     * @date 2023/1/6 18:37
     **/
    String selectGroupLeaderName(String groupLeaderNo);

    /**
     * 根据成员ID修改小组编号
     *
     * @param groupNo  小组编号
     * @param memberId 成员ID
     * @author 晨星
     * @date 2023/1/6 18:34
     **/
    @Update("update member set group_no=#{groupNo} WHERE member_id = #{memberId}")
    void updateGroupNo(@Param("groupNo") String groupNo, @Param("memberId") Integer memberId);

    /**
     * 根据小组成员的客户号设置小组编号为0
     *
     * @param no 小组成员的客户号
     * @author 晨星
     * @date 2023/1/6 21:10
     **/
    @Update("update member set group_no=0 WHERE member_customer_no = #{no}")
    void updateGroupNo2(String no);

    int deleteByPrimaryKey(Long id);

    int insert(Member record);

    int insertSelective(Member record);

    Member selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(Member record);

    int updateByPrimaryKey(Member record);

    int updateGroup(NewClientfoDTO newClientfoDTO);

    int updateIsDelete(MemberIsDeleteDTO memberIsDeleteDTO);

    List<MemberClientInfoSheetVO> selectMember(MemberDTO memberDTO);
}
